﻿using BUGCOME.Model.Auth;

namespace BUGCOME.Service.Auth.IServices
{
    /// <summary>
    /// 用户系统信息服务接口
    /// </summary>
    /// <remarks>
    /// 继承自 <see cref="IBaseService{UserSystem}"/>，提供用户系统信息的基础CRUD操作。
    /// 主要用于管理系统用户资料、角色分配等相关业务逻辑。
    /// 实现类需保证数据一致性和业务完整性。
    /// </remarks>
    public interface IUserSystemService : IBaseService<UserSystem>
    {
        /// <summary>
        /// 异步添加系统用户信息
        /// </summary>
        /// <param name="userSystem">待添加的系统用户信息实体</param>
        /// <returns>
        /// 返回添加成功的 <see cref="UserSystem"/> 实体对象
        /// </returns>
        /// <remarks>
        /// 用于注册或补充系统用户资料，需保证 UserId 唯一性。
        /// </remarks>
        Task<UserSystem> AddUserSystemAsync(UserSystem userSystem);
    }
}
